<script>
	//以下是等价的：
	let rex1 = new RegExp("\\w+");
	let rex2 = /\w+/;


	/*用于正则的方法*/
	//exec() 方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null
	const regex1 = RegExp('foo*', 'g');
	const str1 = 'table football, foosball';
	console.log(regex1.exec(str1));//["foo", index: 6, input: "table football, foosball", groups: undefined]

	//test() 方法执行一个检索，用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。
	const strTest = 'table football';
	const regexTest = new RegExp('foo');
	const globalRegexTest = new RegExp('foo*', 'g');
	console.log(regexTest.test(strTest));
	console.log(globalRegexTest.test(strTest));






	
	/*用于字符串的方法*/
	//对正则表达式匹配字符串时，[@@match]()方法用于获取匹配结果。
	//match 方法会返回一个数组，它包括整个匹配结果，和通过捕获组匹配到的结果，如果没有匹配到则返回null
	console.log('2012-07-02'.match(new RegExp('([0-9]+)-([0-9]+)-([0-9]+)')));

	// [@@matchAll]方法返回对字符串使用正则表达式的所有匹配项。
	let arr = [...'2016-01-02'.matchAll(/[0-9]+/g)]
	console.log(arr);
	
	//方法会在一个字符串中用给定的替换器，替换所有符合正则模式的匹配项，并返回替换后的新字符串结果。
	//用来替换的参数可以是一个字符串或是一个针对每次匹配的回调函数。
	let msg = 'aba'
	console.log(msg.replace(/a/g,''));

	//[@@split]() 方法切割 String 对象为一个其子字符串的数组 。
	let arr1 = 'a-b-c'.split(/-/);
	console.log(arr1);

	//search() 方法执行正则表达式和 String 对象之间的一个搜索匹配。
	//如果匹配成功，则 search() 返回正则表达式在字符串中首次匹配项的索引;否则，返回 -1。
	const paragraph = 'abcde';
	const regex = /d/;
	console.log(paragraph.search(regex)); //3









	
</script>